<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinos-ui.git/src/routes/(app)/send/lightning/[payreq], branch master</title>
<subtitle>coinos ui — legacy coinos.io web app (SvelteKit)</subtitle>
<id>https://git.coinos.io/coinos-ui.git/atom?h=master</id>
<link rel='self' href='https://git.coinos.io/coinos-ui.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/'/>
<updated>2026-10-02T14:10:15Z</updated>
<entry>
<title>send: explain duplicate submits instead of reporting a routing failure</title>
<updated>2026-10-02T14:10:15Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-10-02T14:10:15Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=c890225add1f5e88595f6ae9ce2a0a9d07d5f050'/>
<id>urn:sha1:c890225add1f5e88595f6ae9ce2a0a9d07d5f050</id>
<content type='text'>
Resubmitting an invoice that was already paid, is still in flight, or is
awaiting reconciliation came back as the generic "failed to route" error,
which reads as if the payment never went out. Map those server responses
to specific messages with a link to the payment history.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>send: stop the Max buttons from cancelling their own submit, show LNURL action errors</title>
<updated>2026-09-22T02:41:39Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-09-22T02:41:37Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=2e98fba55d572186f39d00235db1024791ba1561'/>
<id>urn:sha1:2e98fba55d572186f39d00235db1024791ba1561</id>
<content type='text'>
Choosing Max on the LNURL-pay page left the button spinning forever. Two
things combined:

The Max buttons set `loading` from their click handler. Svelte flushes
`disabled={loading}` to the DOM before the browser runs the button's
submit activation, and a disabled button submits nothing. Set loading
from the form's onsubmit instead, the way the Send button always did.

The /ln page never passed `form` into the Lnurlp and Lnurlw components,
so any action failure (pay, max or withdraw) rendered nothing and never
reset the spinner. Pass it through, and reset loading when a result
arrives.

Verified in headless Chrome against the dev stack: the bolt11 Max lands
on the fee view, and the LNURL Max surfaces the server's error and
re-enables the buttons.

Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>send: quote the lightning routing fee up front and add Max to lightning sends</title>
<updated>2026-09-22T02:21:43Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-09-22T02:21:29Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=671cdb3af944b5e6d39361f4a208547d0e9f7291'/>
<id>urn:sha1:671cdb3af944b5e6d39361f4a208547d0e9f7291</id>
<content type='text'>
The lightning send page now asks the server what the payment will cost
before showing the Send button: the exact routing fee from the route
query, the platform fee, and the total. The quoted fee is submitted as
the maxfee, so what the user sees is what gets debited; advanced
settings still let them override it, and if the quote fails the page
falls back to the old 2% reserve.

Max on the amount step asks the server for the largest amount whose
amount + routing fee + platform fee lands exactly on the balance, and
for an offer picks up the invoice fetched for that exact amount.

LNURL-pay gets a Max button too. The invoice only exists once we name an
amount, so the action fetches a probe invoice at the ceiling, lets the
server solve for the amount, then fetches the real invoice for it.

Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>bolt12 zaps: accept offers in send flow, show/publish user offer</title>
<updated>2026-07-30T15:51:45Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-07-30T15:51:45Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=f884ffabc9afab2d6051379062434fc9e7f61176'/>
<id>urn:sha1:f884ffabc9afab2d6051379062434fc9e7f61176</id>
<content type='text'>
- parse lno= from BIP-321 bitcoin: URIs; send page parses offers for
  preview now that /parse handles them
- settings/nostr shows the user's standing lno1 offer with copy/QR and a
  button to publish it as a kind 10058 offer list for NIP-177 zaps
- new locale strings translated

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: rename hidden maxfee field to fee to match form handler</title>
<updated>2026-02-15T08:17:44Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-02-15T08:17:44Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=4b4d3ed99c71472dfb18d4d15f1c65cbec1f86f0'/>
<id>urn:sha1:4b4d3ed99c71472dfb18d4d15f1c65cbec1f86f0</id>
<content type='text'>
Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>increase default maxfee</title>
<updated>2025-12-10T23:50:40Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-12-10T23:50:40Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=4c3682b7dcc6fb77e94822756030f9aef430ee5e'/>
<id>urn:sha1:4c3682b7dcc6fb77e94822756030f9aef430ee5e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>display locked balance</title>
<updated>2025-05-12T19:36:18Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-05-12T19:36:18Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=b8e8dc5d75d7fe2c270e89d62ed29a27321473b7'/>
<id>urn:sha1:b8e8dc5d75d7fe2c270e89d62ed29a27321473b7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix maxfee</title>
<updated>2025-02-12T20:31:36Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-02-12T20:31:36Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=af08468ed623a638718d2df533b7f023fc41baa2'/>
<id>urn:sha1:af08468ed623a638718d2df533b7f023fc41baa2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>change maxfee param name</title>
<updated>2025-02-05T23:18:13Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-02-05T23:18:13Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=4f904f946246a94bbe937ab9b014bd40cd938264'/>
<id>urn:sha1:4f904f946246a94bbe937ab9b014bd40cd938264</id>
<content type='text'>
</content>
</entry>
<entry>
<title>capture ln comments</title>
<updated>2025-01-25T18:50:51Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-01-25T18:50:51Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=dbb00917d84a341f67b11bdfb6d8c50154f691c2'/>
<id>urn:sha1:dbb00917d84a341f67b11bdfb6d8c50154f691c2</id>
<content type='text'>
</content>
</entry>
</feed>
